home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2000 #5
/
Amiga Plus CD - 2000 - No. 5.iso
/
Tools
/
Dev
/
fpc
/
units
/
exec.pp
< prev
next >
Wrap
Text File
|
2000-01-01
|
35KB
|
1,683 lines
{
This file is part of the Free Pascal run time library.
A file in Amiga system run time library.
Copyright (c) 1998 by Nils Sjoholm
member of the Amiga RTL development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{
History:
Added overlay functions for Pchar->Strings, functions
and procedures. Now you can mix PChar and Strings e.g
OpenLibrary('whatis.library',37). No need to cast to
a PChar.
12 Oct 1998.
nils.sjoholm@mailbox.swipnet.se
}
UNIT EXEC;
{$I amigaoverlays.inc}
INTERFACE
{$I exec.inc}
PROCEDURE AbortIO(ioRequest : pIORequest);
PROCEDURE AddDevice(device : pDevice);
PROCEDURE AddHead(list : pList; node : pNode);
PROCEDURE AddIntServer(intNumber : LONGINT; interrupt : pInterrupt);
PROCEDURE AddLibrary(lib : pLibrary);
PROCEDURE AddMemHandler(memhand : pInterrupt);
PROCEDURE AddMemList(size : ULONG; attributes : ULONG; pri : LONGINT; base : POINTER;
const name : pCHAR);
PROCEDURE AddPort(port : pMsgPort);
PROCEDURE AddResource(resource : POINTER);
PROCEDURE AddSemaphore(sigSem : pSignalSemaphore);
PROCEDURE AddTail(list : pList; node : pNode);
FUNCTION AddTask(task : pTask; initPC : POINTER; finalPC : POINTER) : POINTER;
PROCEDURE Alert(alertNum : ULONG);
FUNCTION AllocAbs(byteSize : ULONG; location : POINTER) : POINTER;
FUNCTION Allocate(freeList : pMemHeader; byteSize : ULONG) : POINTER;
FUNCTION AllocEntry(entry : pMemList) : pMemList;
FUNCTION AllocMem(byteSize : ULONG; requirements : ULONG) : POINTER;
FUNCTION AllocPooled(poolHeader : POINTER; memSize : ULONG) : POINTER;
FUNCTION AllocSignal(signalNum : LONGINT) : SHORTINT;
FUNCTION AllocTrap(trapNum : LONGINT) : LONGINT;
FUNCTION AllocVec(byteSize : ULONG; requirements : ULONG) : POINTER;
FUNCTION AttemptSemaphore(sigSem : pSignalSemaphore) : BOOLEAN;
FUNCTION AttemptSemaphoreShared(sigSem : pSignalSemaphore) : ULONG;
FUNCTION AvailMem(requirements : ULONG) : ULONG;
PROCEDURE CacheClearE(address : POINTER; length : ULONG; caches : ULONG);
PROCEDURE CacheClearU;
FUNCTION CacheControl(cacheBits : ULONG; cacheMask : ULONG) : ULONG;
PROCEDURE CachePostDMA(address : POINTER; VAR length : ULONG; flags : ULONG);
FUNCTION CachePreDMA(address : POINTER; VAR length : ULONG; flags : ULONG) : POINTER;
PROCEDURE Cause(interrupt : pInterrupt);
FUNCTION CheckIO(ioRequest : pIORequest) : pIORequest;
PROCEDURE ChildFree(tid : POINTER);
PROCEDURE ChildOrphan(tid : POINTER);
PROCEDURE ChildStatus(tid : POINTER);
PROCEDURE ChildWait(tid : POINTER);
PROCEDURE CloseDevice(ioRequest : pIORequest);
PROCEDURE CloseLibrary(lib : pLibrary);
PROCEDURE ColdReboot;
PROCEDURE CopyMem(source : POINTER; dest : POINTER; size : ULONG);
PROCEDURE CopyMemQuick(source : POINTER; dest : POINTER; size : ULONG);
FUNCTION CreateIORequest(port : pMsgPort; size : ULONG) : POINTER;
FUNCTION CreateMsgPort : pMsgPort;
FUNCTION CreatePool(requirements : ULONG; puddleSize : ULONG; threshSize : ULONG) :
POINTER;
PROCEDURE Deallocate(freeList : pMemHeader; memoryBlock : POINTER; byteSize : ULONG);
PROCEDURE Debug(flags : ULONG);
PROCEDURE DeleteIORequest(iorequest : POINTER);
PROCEDURE DeleteMsgPort(port : pMsgPort);
PROCEDURE DeletePool(poolHeader : POINTER);
PROCEDURE Disable;
FUNCTION DoIO(ioRequest : pIORequest) : SHORTINT;
PROCEDURE Enable;
PROCEDURE Enqueue(list : pList; node : pNode);
PROCEDURE ExecFreeMem(memoryBlock : POINTER; byteSize : ULONG);
PROCEDURE ExecInsert(list : pList; node : pNode; pred : pNode);
FUNCTION FindName(list : pList; const name : pCHAR) : pNode;
FUNCTION FindPort(const name : pCHAR) : pMsgPort;
FUNCTION FindResident(const name : pCHAR) : pResident;
FUNCTION FindSemaphore(const sigSem : pCHAR) : pSignalSemaphore;
FUNCTION FindTask(const name : pCHAR) : pTask;
PROCEDURE Forbid;
PROCEDURE FreeEntry(entry : pMemList);
PROCEDURE FreePooled(poolHeader : POINTER; memory : POINTER; memSize : ULONG);
PROCEDURE FreeSignal(signalNum : LONGINT);
PROCEDURE FreeTrap(trapNum : LONGINT);
PROCEDURE FreeVec(memoryBlock : POINTER);
FUNCTION GetCC : ULONG;
FUNCTION GetMsg(port : pMsgPort) : pMessage;
PROCEDURE InitCode(startClass : ULONG; version : ULONG);
FUNCTION InitResident(resident : pResident; segList : ULONG) : POINTER;
PROCEDURE InitSemaphore(sigSem : pSignalSemaphore);
PROCEDURE InitStruct(initTable : POINTER; memory : POINTER; size : ULONG);
PROCEDURE MakeFunctions(target : POINTER; functionArray : POINTER; funcDispBase :
ULONG);
FUNCTION MakeLibrary(funcInit : POINTER; structInit : POINTER; libInit : tPROCEDURE;
dataSize : ULONG; segList : ULONG) : pLibrary;
FUNCTION ObtainQuickVector(interruptCode : POINTER) : ULONG;
PROCEDURE ObtainSemaphore(sigSem : pSignalSemaphore);
PROCEDURE ObtainSemaphoreList(sigSem : pList);
PROCEDURE ObtainSemaphoreShared(sigSem : pSignalSemaphore);
FUNCTION OldOpenLibrary(const libName : pCHAR) : pLibrary;
FUNCTION OpenDevice(const devName : pCHAR; unite : ULONG; ioRequest : pIORequest;
flags : ULONG) : SHORTINT;
FUNCTION OpenLibrary(const libName : pCHAR; version : ULONG) : pLibrary;
FUNCTION OpenResource(const resName : pCHAR) : POINTER;
PROCEDURE Permit;
FUNCTION Procure(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage) : BOOLEAN;
PROCEDURE PutMsg(port : pMsgPort; message : pMessage);
PROCEDURE RawDoFmt(formatString : pCHAR; dataStream : POINTER; putChProc : tPROCEDURE;
putChData : POINTER);
PROCEDURE ReleaseSemaphore(sigSem : pSignalSemaphore);
PROCEDURE ReleaseSemaphoreList(sigSem : pList);
PROCEDURE RemDevice(device : pDevice);
FUNCTION RemHead(list : pList) : pNode;
PROCEDURE RemIntServer(intNumber : LONGINT; interrupt : pInterrupt);
PROCEDURE RemLibrary(lib : pLibrary);
PROCEDURE RemMemHandler(memhand : pInterrupt);
PROCEDURE Remove(node : pNode);
PROCEDURE RemPort(port : pMsgPort);
PROCEDURE RemResource(resource : POINTER);
PROCEDURE RemSemaphore(sigSem : pSignalSemaphore);
FUNCTION RemTail(list : pList) : pNode;
PROCEDURE RemTask(task : pTask);
PROCEDURE ReplyMsg(message : pMessage);
PROCEDURE SendIO(ioRequest : pIORequest);
FUNCTION SetExcept(newSignals : ULONG; signalSet : ULONG) : ULONG;
FUNCTION SetFunction(lib : pLibrary; funcOffset : LONGINT; newFunction : tPROCEDURE) :
POINTER;
FUNCTION SetIntVector(intNumber : LONGINT; interrupt : pInterrupt) : pInterrupt;
FUNCTION SetSignal(newSignals : ULONG; signalSet : ULONG) : ULONG;
FUNCTION SetSR(newSR : ULONG; mask : ULONG) : ULONG;
FUNCTION SetTaskPri(task : pTask; priority : LONGINT) : SHORTINT;
PROCEDURE Signal(task : pTask; signalSet : ULONG);
PROCEDURE StackSwap(newStack : pStackSwapStruct);
PROCEDURE SumKickData;
PROCEDURE SumLibrary(lib : pLibrary);
FUNCTION SuperState : POINTER;
FUNCTION Supervisor(userFunction : tPROCEDURE) : ULONG;
FUNCTION TypeOfMem(address : POINTER) : ULONG;
PROCEDURE UserState(sysStack : POINTER);
PROCEDURE Vacate(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage);
FUNCTION Wait(signalSet : ULONG) : ULONG;
FUNCTION WaitIO(ioRequest : pIORequest) : SHORTINT;
FUNCTION WaitPort(port : pMsgPort) : pMessage;
{$ifdef amiga_overlays}
PROCEDURE AddMemList(size : ULONG; attributes : ULONG; pri : LONGINT; base : POINTER;
const name : String);
FUNCTION FindName(list : pList; const name : String) : pNode;
FUNCTION FindPort(const name : String) : pMsgPort;
FUNCTION FindResident(const name : String) : pResident;
FUNCTION FindSemaphore(const sigSem : String) : pSignalSemaphore;
FUNCTION FindTask(const name : String) : pTask;
FUNCTION OldOpenLibrary(const libName : String) : pLibrary;
FUNCTION OpenDevice(const devName : String; unite : ULONG; ioRequest : pIORequest;
flags : ULONG) : SHORTINT;
FUNCTION OpenLibrary(const libName : String; version : ULONG) : pLibrary;
FUNCTION OpenResource(const resName : String) : POINTER;
PROCEDURE RawDoFmt(formatString : String; dataStream : POINTER; putChProc :
tPROCEDURE; putChData : POINTER);
{$endif}
IMPLEMENTATION
{$ifdef amiga_overlays}
uses pastoc;
{$endif}
PROCEDURE AbortIO(ioRequest : pIORequest);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L ioRequest,A1
MOVEA.L _ExecBase,A6
JSR -480(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE AddDevice(device : pDevice);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L device,A1
MOVEA.L _ExecBase,A6
JSR -432(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE AddHead(list : pList; node : pNode);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L list,A0
MOVEA.L node,A1
MOVEA.L _ExecBase,A6
JSR -240(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE AddIntServer(intNumber : LONGINT; interrupt : pInterrupt);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L intNumber,D0
MOVEA.L interrupt,A1
MOVEA.L _ExecBase,A6
JSR -168(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE AddLibrary(lib : pLibrary);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L lib,A1
MOVEA.L _ExecBase,A6
JSR -396(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE AddMemHandler(memhand : pInterrupt);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L memhand,A1
MOVEA.L _ExecBase,A6
JSR -774(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE AddMemList(size : ULONG; attributes : ULONG; pri : LONGINT; base : POINTER;
const name : pCHAR);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L size,D0
MOVE.L attributes,D1
MOVE.L pri,D2
MOVEA.L base,A0
MOVEA.L name,A1
MOVEA.L _ExecBase,A6
JSR -618(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE AddPort(port : pMsgPort);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L port,A1
MOVEA.L _ExecBase,A6
JSR -354(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE AddResource(resource : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L resource,A1
MOVEA.L _ExecBase,A6
JSR -486(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE AddSemaphore(sigSem : pSignalSemaphore);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A1
MOVEA.L _ExecBase,A6
JSR -600(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE AddTail(list : pList; node : pNode);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L list,A0
MOVEA.L node,A1
MOVEA.L _ExecBase,A6
JSR -246(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION AddTask(task : pTask; initPC : POINTER; finalPC : POINTER) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L task,A1
MOVEA.L initPC,A2
MOVEA.L finalPC,A3
MOVEA.L _ExecBase,A6
JSR -282(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE Alert(alertNum : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L alertNum,D7
MOVEA.L _ExecBase,A6
JSR -108(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION AllocAbs(byteSize : ULONG; location : POINTER) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L byteSize,D0
MOVEA.L location,A1
MOVEA.L _ExecBase,A6
JSR -204(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION Allocate(freeList : pMemHeader; byteSize : ULONG) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L freeList,A0
MOVE.L byteSize,D0
MOVEA.L _ExecBase,A6
JSR -186(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION AllocEntry(entry : pMemList) : pMemList;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L entry,A0
MOVEA.L _ExecBase,A6
JSR -222(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION AllocMem(byteSize : ULONG; requirements : ULONG) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L byteSize,D0
MOVE.L requirements,D1
MOVEA.L _ExecBase,A6
JSR -198(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION AllocPooled(poolHeader : POINTER; memSize : ULONG) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L poolHeader,A0
MOVE.L memSize,D0
MOVEA.L _ExecBase,A6
JSR -708(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION AllocSignal(signalNum : LONGINT) : SHORTINT;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L signalNum,D0
MOVEA.L _ExecBase,A6
JSR -330(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION AllocTrap(trapNum : LONGINT) : LONGINT;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L trapNum,D0
MOVEA.L _ExecBase,A6
JSR -342(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION AllocVec(byteSize : ULONG; requirements : ULONG) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L byteSize,D0
MOVE.L requirements,D1
MOVEA.L _ExecBase,A6
JSR -684(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION AttemptSemaphore(sigSem : pSignalSemaphore) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A0
MOVEA.L _ExecBase,A6
JSR -576(A6)
MOVEA.L (A7)+,A6
TST.L D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION AttemptSemaphoreShared(sigSem : pSignalSemaphore) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A0
MOVEA.L _ExecBase,A6
JSR -720(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION AvailMem(requirements : ULONG) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L requirements,D1
MOVEA.L _ExecBase,A6
JSR -216(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE CacheClearE(address : POINTER; length : ULONG; caches : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L address,A0
MOVE.L length,D0
MOVE.L caches,D1
MOVEA.L _ExecBase,A6
JSR -642(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE CacheClearU;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L _ExecBase,A6
JSR -636(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION CacheControl(cacheBits : ULONG; cacheMask : ULONG) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L cacheBits,D0
MOVE.L cacheMask,D1
MOVEA.L _ExecBase,A6
JSR -648(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE CachePostDMA(address : POINTER; VAR length : ULONG; flags : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L address,A0
MOVEA.L length,A1
MOVE.L flags,D0
MOVEA.L _ExecBase,A6
JSR -768(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION CachePreDMA(address : POINTER; VAR length : ULONG; flags : ULONG) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L address,A0
MOVEA.L length,A1
MOVE.L flags,D0
MOVEA.L _ExecBase,A6
JSR -762(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE Cause(interrupt : pInterrupt);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L interrupt,A1
MOVEA.L _ExecBase,A6
JSR -180(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION CheckIO(ioRequest : pIORequest) : pIORequest;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L ioRequest,A1
MOVEA.L _ExecBase,A6
JSR -468(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE ChildFree(tid : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L tid,D0
MOVEA.L _ExecBase,A6
JSR -738(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ChildOrphan(tid : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L tid,D0
MOVEA.L _ExecBase,A6
JSR -744(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ChildStatus(tid : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L tid,D0
MOVEA.L _ExecBase,A6
JSR -750(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ChildWait(tid : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L tid,D0
MOVEA.L _ExecBase,A6
JSR -756(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE CloseDevice(ioRequest : pIORequest);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L ioRequest,A1
MOVEA.L _ExecBase,A6
JSR -450(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE CloseLibrary(lib : pLibrary);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L lib,A1
MOVEA.L _ExecBase,A6
JSR -414(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ColdReboot;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L _ExecBase,A6
JSR -726(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE CopyMem(source : POINTER; dest : POINTER; size : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L source,A0
MOVEA.L dest,A1
MOVE.L size,D0
MOVEA.L _ExecBase,A6
JSR -624(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE CopyMemQuick(source : POINTER; dest : POINTER; size : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L source,A0
MOVEA.L dest,A1
MOVE.L size,D0
MOVEA.L _ExecBase,A6
JSR -630(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION CreateIORequest(port : pMsgPort; size : ULONG) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L port,A0
MOVE.L size,D0
MOVEA.L _ExecBase,A6
JSR -654(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION CreateMsgPort : pMsgPort;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L _ExecBase,A6
JSR -666(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION CreatePool(requirements : ULONG; puddleSize : ULONG; threshSize : ULONG) :
POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L requirements,D0
MOVE.L puddleSize,D1
MOVE.L threshSize,D2
MOVEA.L _ExecBase,A6
JSR -696(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE Deallocate(freeList : pMemHeader; memoryBlock : POINTER; byteSize : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L freeList,A0
MOVEA.L memoryBlock,A1
MOVE.L byteSize,D0
MOVEA.L _ExecBase,A6
JSR -192(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE Debug(flags : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L flags,D0
MOVEA.L _ExecBase,A6
JSR -114(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE DeleteIORequest(iorequest : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L iorequest,A0
MOVEA.L _ExecBase,A6
JSR -660(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE DeleteMsgPort(port : pMsgPort);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L port,A0
MOVEA.L _ExecBase,A6
JSR -672(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE DeletePool(poolHeader : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L poolHeader,A0
MOVEA.L _ExecBase,A6
JSR -702(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE Disable;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L _ExecBase,A6
JSR -120(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION DoIO(ioRequest : pIORequest) : SHORTINT;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L ioRequest,A1
MOVEA.L _ExecBase,A6
JSR -456(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE Enable;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L _ExecBase,A6
JSR -126(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE Enqueue(list : pList; node : pNode);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L list,A0
MOVEA.L node,A1
MOVEA.L _ExecBase,A6
JSR -270(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ExecFreeMem(memoryBlock : POINTER; byteSize : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L memoryBlock,A1
MOVE.L byteSize,D0
MOVEA.L _ExecBase,A6
JSR -210(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ExecInsert(list : pList; node : pNode; pred : pNode);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L list,A0
MOVEA.L node,A1
MOVEA.L pred,A2
MOVEA.L _ExecBase,A6
JSR -234(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION FindName(list : pList; const name : pCHAR) : pNode;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L list,A0
MOVEA.L name,A1
MOVEA.L _ExecBase,A6
JSR -276(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION FindPort(const name : pCHAR) : pMsgPort;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L name,A1
MOVEA.L _ExecBase,A6
JSR -390(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION FindResident(const name : pCHAR) : pResident;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L name,A1
MOVEA.L _ExecBase,A6
JSR -096(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION FindSemaphore(const sigSem : pCHAR) : pSignalSemaphore;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A1
MOVEA.L _ExecBase,A6
JSR -594(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION FindTask(const name : pCHAR) : pTask;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L name,A1
MOVEA.L _ExecBase,A6
JSR -294(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE Forbid;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L _ExecBase,A6
JSR -132(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE FreeEntry(entry : pMemList);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L entry,A0
MOVEA.L _ExecBase,A6
JSR -228(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE FreePooled(poolHeader : POINTER; memory : POINTER; memSize : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L poolHeader,A0
MOVEA.L memory,A1
MOVE.L memSize,D0
MOVEA.L _ExecBase,A6
JSR -714(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE FreeSignal(signalNum : LONGINT);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L signalNum,D0
MOVEA.L _ExecBase,A6
JSR -336(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE FreeTrap(trapNum : LONGINT);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L trapNum,D0
MOVEA.L _ExecBase,A6
JSR -348(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE FreeVec(memoryBlock : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L memoryBlock,A1
MOVEA.L _ExecBase,A6
JSR -690(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION GetCC : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L _ExecBase,A6
JSR -528(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION GetMsg(port : pMsgPort) : pMessage;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L port,A0
MOVEA.L _ExecBase,A6
JSR -372(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE InitCode(startClass : ULONG; version : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L startClass,D0
MOVE.L version,D1
MOVEA.L _ExecBase,A6
JSR -072(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION InitResident(resident : pResident; segList : ULONG) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L resident,A1
MOVE.L segList,D1
MOVEA.L _ExecBase,A6
JSR -102(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE InitSemaphore(sigSem : pSignalSemaphore);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A0
MOVEA.L _ExecBase,A6
JSR -558(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE InitStruct(initTable : POINTER; memory : POINTER; size : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L initTable,A1
MOVEA.L memory,A2
MOVE.L size,D0
MOVEA.L _ExecBase,A6
JSR -078(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE MakeFunctions(target : POINTER; functionArray : POINTER; funcDispBase :
ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L target,A0
MOVEA.L functionArray,A1
MOVEA.L funcDispBase,A2
MOVEA.L _ExecBase,A6
JSR -090(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION MakeLibrary(funcInit : POINTER; structInit : POINTER; libInit : tPROCEDURE;
dataSize : ULONG; segList : ULONG) : pLibrary;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L funcInit,A0
MOVEA.L structInit,A1
MOVEA.L libInit,A2
MOVE.L dataSize,D0
MOVE.L segList,D1
MOVEA.L _ExecBase,A6
JSR -084(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION ObtainQuickVector(interruptCode : POINTER) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L interruptCode,A0
MOVEA.L _ExecBase,A6
JSR -786(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE ObtainSemaphore(sigSem : pSignalSemaphore);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A0
MOVEA.L _ExecBase,A6
JSR -564(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ObtainSemaphoreList(sigSem : pList);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A0
MOVEA.L _ExecBase,A6
JSR -582(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ObtainSemaphoreShared(sigSem : pSignalSemaphore);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A0
MOVEA.L _ExecBase,A6
JSR -678(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION OldOpenLibrary(const libName : pCHAR) : pLibrary;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L libName,A1
MOVEA.L _ExecBase,A6
JSR -408(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION OpenDevice(const devName : pCHAR; unite : ULONG; ioRequest : pIORequest;
flags : ULONG) : SHORTINT;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L devName,A0
MOVE.L unite,D0
MOVEA.L ioRequest,A1
MOVE.L flags,D1
MOVEA.L _ExecBase,A6
JSR -444(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION OpenLibrary(const libName : pCHAR; version : ULONG) : pLibrary;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L libName,A1
MOVE.L version,D0
MOVEA.L _ExecBase,A6
JSR -552(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION OpenResource(const resName : pCHAR) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L resName,A1
MOVEA.L _ExecBase,A6
JSR -498(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE Permit;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L _ExecBase,A6
JSR -138(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION Procure(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A0
MOVEA.L bidMsg,A1
MOVEA.L _ExecBase,A6
JSR -540(A6)
MOVEA.L (A7)+,A6
TST.L D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
PROCEDURE PutMsg(port : pMsgPort; message : pMessage);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L port,A0
MOVEA.L message,A1
MOVEA.L _ExecBase,A6
JSR -366(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE RawDoFmt(formatString : pCHAR; dataStream : POINTER; putChProc : tPROCEDURE;
putChData : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L formatString,A0
MOVEA.L dataStream,A1
MOVEA.L putChProc,A2
MOVEA.L putChData,A3
MOVEA.L _ExecBase,A6
JSR -522(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ReleaseSemaphore(sigSem : pSignalSemaphore);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A0
MOVEA.L _ExecBase,A6
JSR -570(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ReleaseSemaphoreList(sigSem : pList);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A0
MOVEA.L _ExecBase,A6
JSR -588(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE RemDevice(device : pDevice);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L device,A1
MOVEA.L _ExecBase,A6
JSR -438(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION RemHead(list : pList) : pNode;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L list,A0
MOVEA.L _ExecBase,A6
JSR -258(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE RemIntServer(intNumber : LONGINT; interrupt : pInterrupt);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L intNumber,D0
MOVEA.L interrupt,A1
MOVEA.L _ExecBase,A6
JSR -174(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE RemLibrary(lib : pLibrary);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L lib,A1
MOVEA.L _ExecBase,A6
JSR -402(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE RemMemHandler(memhand : pInterrupt);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L memhand,A1
MOVEA.L _ExecBase,A6
JSR -780(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE Remove(node : pNode);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L node,A1
MOVEA.L _ExecBase,A6
JSR -252(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE RemPort(port : pMsgPort);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L port,A1
MOVEA.L _ExecBase,A6
JSR -360(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE RemResource(resource : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L resource,A1
MOVEA.L _ExecBase,A6
JSR -492(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE RemSemaphore(sigSem : pSignalSemaphore);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A1
MOVEA.L _ExecBase,A6
JSR -606(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION RemTail(list : pList) : pNode;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L list,A0
MOVEA.L _ExecBase,A6
JSR -264(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE RemTask(task : pTask);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L task,A1
MOVEA.L _ExecBase,A6
JSR -288(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE ReplyMsg(message : pMessage);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L message,A1
MOVEA.L _ExecBase,A6
JSR -378(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE SendIO(ioRequest : pIORequest);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L ioRequest,A1
MOVEA.L _ExecBase,A6
JSR -462(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION SetExcept(newSignals : ULONG; signalSet : ULONG) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L newSignals,D0
MOVE.L signalSet,D1
MOVEA.L _ExecBase,A6
JSR -312(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION SetFunction(lib : pLibrary; funcOffset : LONGINT; newFunction : tPROCEDURE) :
POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L lib,A1
MOVEA.L funcOffset,A0
MOVE.L newFunction,D0
MOVEA.L _ExecBase,A6
JSR -420(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION SetIntVector(intNumber : LONGINT; interrupt : pInterrupt) : pInterrupt;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L intNumber,D0
MOVEA.L interrupt,A1
MOVEA.L _ExecBase,A6
JSR -162(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION SetSignal(newSignals : ULONG; signalSet : ULONG) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L newSignals,D0
MOVE.L signalSet,D1
MOVEA.L _ExecBase,A6
JSR -306(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION SetSR(newSR : ULONG; mask : ULONG) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L newSR,D0
MOVE.L mask,D1
MOVEA.L _ExecBase,A6
JSR -144(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION SetTaskPri(task : pTask; priority : LONGINT) : SHORTINT;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L task,A1
MOVE.L priority,D0
MOVEA.L _ExecBase,A6
JSR -300(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE Signal(task : pTask; signalSet : ULONG);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L task,A1
MOVE.L signalSet,D0
MOVEA.L _ExecBase,A6
JSR -324(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE StackSwap(newStack : pStackSwapStruct);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L newStack,A0
MOVEA.L _ExecBase,A6
JSR -732(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE SumKickData;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L _ExecBase,A6
JSR -612(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE SumLibrary(lib : pLibrary);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L lib,A1
MOVEA.L _ExecBase,A6
JSR -426(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION SuperState : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L _ExecBase,A6
JSR -150(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION Supervisor(userFunction : tPROCEDURE) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L userFunction,A5
MOVEA.L _ExecBase,A6
JSR -030(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION TypeOfMem(address : POINTER) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L address,A1
MOVEA.L _ExecBase,A6
JSR -534(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE UserState(sysStack : POINTER);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L sysStack,D0
MOVEA.L _ExecBase,A6
JSR -156(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE Vacate(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L sigSem,A0
MOVEA.L bidMsg,A1
MOVEA.L _ExecBase,A6
JSR -546(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION Wait(signalSet : ULONG) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVE.L signalSet,D0
MOVEA.L _ExecBase,A6
JSR -318(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION WaitIO(ioRequest : pIORequest) : SHORTINT;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L ioRequest,A1
MOVEA.L _ExecBase,A6
JSR -474(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION WaitPort(port : pMsgPort) : pMessage;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L port,A0
MOVEA.L _ExecBase,A6
JSR -384(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
{$ifdef amiga_overlays}
PROCEDURE AddMemList(size : ULONG; attributes : ULONG; pri : LONGINT; base : POINTER;
const name : String);
BEGIN
AddMemList(size,attributes,pri,base,pas2c(name));
END;
FUNCTION FindName(list : pList; const name : String) : pNode;
BEGIN
FindName := FindName(list,pas2c(name));
END;
FUNCTION FindPort(const name : String) : pMsgPort;
BEGIN
FindPort := FindPort(pas2c(name));
END;
FUNCTION FindResident(const name : String) : pResident;
BEGIN
FindResident := FindResident(pas2c(name));
END;
FUNCTION FindSemaphore(const sigSem : String) : pSignalSemaphore;
BEGIN
FindSemaphore := FindSemaphore(pas2c(sigSem));
END;
FUNCTION FindTask(const name : String) : pTask;
BEGIN
FindTask := FindTask(pas2c(name));
END;
FUNCTION OldOpenLibrary(const libName : String) : pLibrary;
BEGIN
OldOpenLibrary := OldOpenLibrary(pas2c(libName));
END;
FUNCTION OpenDevice(const devName : String; unite : ULONG; ioRequest : pIORequest;
flags : ULONG) : SHORTINT;
BEGIN
OpenDevice := OpenDevice(pas2c(devName),unite,ioRequest,flags);
END;
FUNCTION OpenLibrary(const libName : String; version : ULONG) : pLibrary;
BEGIN
OpenLibrary := OpenLibrary(pas2c(libName),version);
END;
FUNCTION OpenResource(const resName : String) : POINTER;
BEGIN
OpenResource := OpenResource(pas2c(resName));
END;
PROCEDURE RawDoFmt(formatString : String; dataStream : POINTER; putChProc :
tPROCEDURE; putChData : POINTER);
BEGIN
RawDoFmt(pas2c(formatString),dataStream,putChProc,putChData);
END;
{$endif}
END. (* UNIT EXEC *)
{
$Log: exec.pp,v $
Revision 1.3 1998/09/14 20:22:32 carl
* Several bugfixes by Nils Sjoholm
Revision 1.1.1.1 1998/03/25 11:18:47 root
* Restored version
Revision 1.3 1998/01/26 12:02:42 michael
+ Added log at the end
Working file: rtl/amiga/exec.pp
description:
----------------------------
revision 1.2
date: 1997/12/14 19:02:47; author: carl; state: Exp; lines: +11 -10
* small bugfixes
----------------------------
revision 1.1
date: 1997/12/10 13:48:45; author: carl; state: Exp;
+ exec dynamic library definitions and calls.
=============================================================================
}